const mime = require('mime')
const path = require('path')
/**
 * 负责提供产出文件的预览，拦截http请求，看看i请求的文件，是不是webpack打包出来的文件，如果是的话，从硬盘中读出来，返回个客户端
 * @param {*} param
 * @returns 
 */
function wrapper({fs,outputPath}) {
    return (req,res,next)=>{
        let url = req.url // http://localhost:8080/main.js
        //如果访问的地址为根目录
        if (url==='/')url= "/index.html"
        //outputPath =  path.resolve(__dirname, 'dist')
        // filename = c:\
        let filename = path.join(outputPath,url)
        try{
            let stats = fs.statSync(filename)
            console.log(stats, 'stats')
            if (stats.isFile()) {
                let content = fs.readFileSync(filename)
                // console.log(content, 'content')
                console.log(filename, 'filename')
                res.setHeader('Content-Type',mime.getType(filename))
                res.send(content)
            } else {
                res.sendStatus(404)
            }
        }catch(err){
            console.log(err, 'err')
            res.sendStatus(500)
        }
    }
}
module.exports = wrapper;